package com.caltco.cargo.ops.modules.sys.service;


import com.caltco.cargo.ops.common.base.gen.IBaseService;
import com.caltco.cargo.ops.modules.sys.entity.SysUserEntity;
import com.caltco.cargo.ops.modules.sys.request.LoginRequest;
import com.caltco.cargo.ops.modules.sys.request.RegisterRequest;
import com.caltco.cargo.ops.modules.sys.request.UpdateRequest;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.Map;


/**
 * 系统用户
 *
 * @author
 * @email
 * @date 2016年9月18日 上午9:43:39
 */
public interface SysUserService extends IBaseService<SysUserEntity> {


    /**
    * @Description: 退出登录
    * @Param: []
    * @return: void
    * @Author: yehao
    * @Date: 2022/7/21
    */
    Boolean logout(String username, Long userId);

    Boolean saveUser(RegisterRequest registerRequest);

    Map<String, Object> verifyLogin(LoginRequest request);
    SysUserEntity updateUser(UpdateRequest updateRequest);

    SysUserEntity getUserInfo();
    UserDetails loadUserByUsername(String username);

}
